Conventionally, a storage system comprising a disk controller and a plurality of disk drives is known as a storage system that analyzes and processes commands from a host. With this kind of storage system, when a command is input from the host to the disk controller, the disk controller is able to execute IO processing by accessing the designated disk drive based on the command.
In the foregoing case, if the storage system is connected to a plurality of hosts, the disk controller analyzes the commands issued from the respective hosts and determines whether at least a part of the access ranges (address ranges for accessing logical volumes created from a plurality of disk drives) designated in each command overlaps. If at least a part of the access ranges overlaps, the disk controller executes extent exclusive wait processing which causes access to a certain host to enter a wait state, and, if at least a part of the access ranges does not overlap, the disk controller executes IO processing for accessing the designated volume in accordance with the command.
Here, extent exclusive wait processing refers to the processing in which, while a disk controller is accessing a logical volume according to a command from a certain host, the access of a host requesting access to the same logical volume is caused to enter a wait state.
In a case where an I/O request (command) is issued from a processor (host) to a controller (disk controller) upon analyzing the command and selecting the processing to be performed, technology has been proposed for storing the extents to be transferred from the processor to the controller in a control memory of the controller, determining an I/O request in which the extents overlap in the volume is being executed, and executing the I/O processing if the extents do not overlap, and storing the wait of the I/O request in the control memory if the extents overlap (refer to Patent Document 1).